home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / comm / term / vltj5867.lha / VLT / docs / VLT5p576.doc < prev   
Text File  |  1992-08-23  |  69KB  |  1,461 lines

  1. +----------------------------------------------------------------------+
  2. |                                                                      |
  3. |                  D I S C L A I M E R   N O T I C E                   |
  4. |                                                                      |
  5. |  This document and/or  portions of the material and  data furnished  |
  6. |  herewith,  was developed under sponsorship of the U.S. Government.  |
  7. |  Neither the U.S.  nor  the U.S.D.O.E.,  nor  the  Leland  Stanford  |
  8. |  Junior University, nor their employees,  nor their respective con-  |
  9. |  tractors, subcontractors, or their employees, makes  any warranty,  |
  10. |  express or implied, or assumes any liability or responsibility for  |
  11. |  accuracy,  completeness or  usefulness of any information, appara-  |
  12. |  tus, product or process disclosed, or represents that its use will  |
  13. |  not infringe privately-owned rights.  Mention of any product,  its  |
  14. |  manufacturer, or suppliers shall not, nor is it intended to, imply  |
  15. |  approval, disapproval, or fitness for any particular use. The U.S.  |
  16. |  and  the University at all times  retain the right to use and dis-  |
  17. |  seminate same for any purpose whatsoever.                           |
  18. |                                                                      |
  19. +----------------------------------------------------------------------+
  20.  
  21. Tektronix is a trademark of Tektronix, Inc.
  22. VT100 is a trademark of Digital Equipment Corporation.
  23.  
  24.  
  25.  
  26.  
  27. |
  28. |               VLT 5.576 Additional Documentation
  29. |               ==================================
  30.  
  31.                (C) Copyright 1989, 1990, 1991, 1992
  32.  
  33.                              by
  34.  
  35.                        W.G.J. Langeveld
  36.  
  37.                 Stanford Linear Accelerator Center
  38.  
  39.  
  40.  
  41. | VLT 5.576
  42. | =========
  43. |
  44. |    This is VLT 5.576, a bug-fix update to VLT 5.517. Where this
  45. | doc file differs from the one for version 5.517, you will see change
  46. | bars, such as in front of this paragraph. We will first summarize the
  47. | bug fixes and changes from version 5.517. If the problem was only
  48. | present in version 5.517, this is indicated by (5.517) at the end of
  49. | the item.
  50. |    Please, read also the sections in the rest of the file that
  51. | have changed.
  52. |
  53. | Tektronix section changes and fixes:
  54. |
  55. | - VLT could get confused about whether Tektronix graphics was supposed
  56. |   to be displayed in the main VLT screen or in a separate window
  57. |   with a certain combination of menu selections. Also, the menu now
  58. |   correctly displays which "screen" is being used.
  59. | - A miscflags option was added to prevent panel outlines from being
  60. |   drawn. Added by request.
  61. | - VLT now handles <esc>? properly when interpreting XY coordinates
  62. |   that are arguments to other escape sequences.
  63. | - Whether or not X,Y coordinates are displayed numerically during graphic
  64. |   cursor operations is now saved in the Tek configuration file.
  65. | - An error in redrawing plots was fixed which would sometimes lead to
  66. |   the last line segment not being plotted. This also affected saving
  67. |   the data in any form.
  68. | - An error in the PostScript save code was fixed. After saving a file
  69. |   in PS format, another file saved that way might start drawing at the
  70. |   wrong point.
  71. | - A small problem with turning on and off the graphics cursor from the
  72. |   menu was fixed.
  73. |
  74. | VT100 section changes and fixes:
  75. |
  76. | - The Swap-BS-DEL menu option used to also affect ctrl-H. It no longer
  77. |   does. (5.517 bug only)
  78. | - By popular request, the top four keys of the numeric keypad now work
  79. |   like they used to. There is, however, a miscflags option to force them
  80. |   to send VT100 sequences under all circumstances. (5.517)
  81. | - After using a +i startup script, the screen would open without
  82. |   displaying the cursor.
  83. | - If the console window was open, it was usually impossible to close
  84. |   the screen. (5.517)
  85. | - There were major problems finding and/or opening fonts, especially
  86. |   under AmigaDOS 1.3. These should all be fixed now. No more "Can't open
  87. |   any font" messages. (5.517)
  88. | - There was a possible window for an infinite menu loop, where the first
  89. |   menu option (Capture Session) would continuously open a requester.
  90. | - A reported crash of the built-in BEEP function, when no channels were
  91. |   available, was not reproduced. The code was, however, bullet proofed,
  92. |   and an IO-Torture hit removed.
  93. | - The command line option +i could not be used to start an initial
  94. |   ARexx script in contrast to the documentation. It now can.
  95. | - There was a problem with the OwnDevUnit support when changing from
  96. |   one serial device to another. (5.517)
  97. | - There was a problem with case sensitivity while opening libraries
  98. |   under certain circumstances. (5.517)
  99. | - A workaround was installed to fix problems with some file requester
  100. |   replacements that do not emulate ASL properly. Note, that the use of
  101. |   file requester replacements is not recommended. (5.517)
  102. | - A precaution was added when aborting ARexx programs.
  103. | - Two subcommands were added to the "window" command: open and close.
  104. |   "Window close" does the same as "clear close", except that it does
  105. |   not clear the window. When the window is reopened, text that used to
  106. |   be there will still be there. "Window open" does the same as "activate
  107. |   vt100", but has no effect if the VT100 window is already open.
  108. | - VLT was never able to execute ARexx scripts with spaces in their
  109. |   file names. It now treats filenames with spaces correctly, except when
  110. |   they are sent to "AREXX" (using the @@ command) rather than "REXX"
  111. |   (using @), for technical reasons.
  112. | - Some restrictions on the maximum size of VLT's windows were removed and
  113. |   VLT should be a little happier to open up on a super-hires Workbench in
  114. |   places near the right edge.
  115. | - There is now a miscflag to turn off escape key use for exiting scripts.
  116. | - An addition was made to the "baud" command to allow one to set arbitrary
  117. |   serial speeds.
  118. | - The send and emit commands now accept strings with *X00 in them, and
  119. |   don't stop sending there like they used to. Traps and waits and ons
  120. |   can now also have *X00 in their match string.
  121. | - The IF script command was changed. It now executes its arguments
  122. |   synchronously with the schedule in which the if appears. See the changed
  123. |   documentation on the IF command.
  124. | - The continue command now allows an argument: the name of a schedule to
  125. |   "continue".
  126. |
  127. |   Changes in other files:
  128. |
  129. | - The VLTPhonebook ARexx scripts were fixed in various ways: they now
  130. |   properly start the "setup" function if no phonebook is assigned; they
  131. |   now look much better when used under AmigaDOS 1.3; some bugs in the
  132. |   VLTPhoneDial.rexx script were fixed. (5.517)
  133. | - SetMiscFlags.vlt was modified in various ways: it now looks much
  134. |   better under 1.3; two flags were erroneously switched in the Tektronix
  135. |   part; entries for the four new flags were added. (5.517)
  136. | - FifoBBS.rexx was changed in two ways: it now doesn't pop up requesters
  137. |   so often when a device is not found; it now ignores RING messages
  138. |   during the logon sequence.
  139. | - The review window sliders now have the proper new look.
  140. | - A restriction on the size of the review window when opening on screens
  141. |   wider than 1024 pixels was removed.
  142. |
  143. |
  144. | Most asked questions
  145. | --------------------
  146. |
  147. |    The following is a set of notes based on the most frequently
  148. | asked questions or reported bugs.
  149. |
  150. | - There are a few problems with the ASL file and directory requesters.
  151. |   As to the file requester, when used in multiple select mode, doesn't
  152. |   actually select the file if you double-click on it. This is used only
  153. |   in the phonebook. Rather than double-clicking, click on Okay after you
  154. |   have selected some files. The directory requester does not activate its
  155. |   drawer gadget when it opens, and also doesn't execute an implicit
  156. |   "Okay" if you hit return. And finally, it has been pointed out that
  157. |   some file requesters have different colors than others. This is a
  158. |   feature, not a bug: there is a difference between file requesters that
  159. |   "save" things and ones that "get" things.
  160. | - There are several file requester replacements in the public domain.
  161. |   VLT does *not* support these. If you use them, you do so at your own
  162. |   risk. While VLT does nothing special to make them fail, it has been
  163. |   found that many of them cause problems.
  164. | - There are several programs that cause VLT to drop characters when
  165. |   receiving data, when these programs are run at the same time as VLT.
  166. |   This is a problem caused by such programs, not of VLT. Suspect programs
  167. |   are those that mess with the way the Amiga multitasks or that try to
  168. |   monitor the tasks in the system (but there are others that work fine).
  169. | - There are some old versions of ToolManager (which allows you to run
  170. |   programs from a Workbench menu, which do not set the "progdir:" assign.
  171. |   If you run VLT from the tool menu this way, VLT may not be able to find
  172. |   all the files it needs.
  173. | - The Special Keymap menu item is often used the wrong way. Do *not*
  174. |   set the VLT special keymap to that of your country! Use the special
  175. |   keymap *only* if you have a keymap editor (such as keymaped) and
  176. |   then only set those keys you really want to change to a non-null
  177. |   value.
  178. | - Sometimes it looks as if VLT is not using the version 2.0 3-D look.
  179. |   This is caused by a mismatch between the color assignments and the
  180. |   actual color values. You can set VLT up so it has your color settings
  181. |   and still has proper "shine" and "shadow" colors. See CustomColors.scp
  182. |   for an example, or WorkbenchColors.scp on the Workbench.
  183. | - The font VLT uses must have both an 8 and an 11 pixel tall version.
  184. |   Suppose you want to use a font called SubtleBlue, then there must be
  185. |   a directory called fonts:SubtleBlue, and files called
  186. |   fonts:SubtleBlue.font, fonts:SubtleBlue/8 and fonts:SubtleBlue/11.
  187. |   Furthermore, these fonts must both be 8 pixels wide and monospaced.
  188. |   Under 2.04, only fonts that show up in the font requester are
  189. |   acceptable to VLT. Some day, this restriction may be lifted.
  190. | - If you use "sunmouse"-like programs, i.e. programs that run in the
  191. |   background that cause windows to be activated when the mouse pointer
  192. |   is within the boundaries of that window, then many things in VLT
  193. |   may become annoying. VLT now puts up busy pointers for the main VLT
  194. |   window if a requester is up, and when the mouse pointer is not in
  195. |   the requester, the requester window is often not active. Therefore,
  196. |   "sunmouse"-like programs are not recommended.
  197. | - Since it is now possible to close VLT's main screen, one may wonder
  198. |   how to reopen it. One way is to just rerun VLT. This causes VLT to
  199. |   reopen the screen and put up the famous message "But I'm already here!".
  200. |   Alternatively, one can send VLT an ARexx message such as "window open",
  201. |   or "activate vt100".
  202. | - The documentation for using ConMan was a little confusing - this has
  203. |   hopefully been fixed.
  204. | - There's an assign you can make to redirect where the TekCapture.000x
  205. |   files go. This assign is TekStore:, and it must be a directory or a
  206. |   device somewhere.
  207. | - Problems are often reported with FifoBBS when run in "remote" mode.
  208. |   These problems are hopefully reduced with the current version, but
  209. |   some care may still be needed. Consider what happens: someone tries
  210. |   to call the modem of the system running VLT and FifoBBS. The modem
  211. |   sometimes sends "RING" to VLT, and this used to cause VLT to think
  212. |   someone hit a return, and so FifoBBS would send the "Username:"
  213. |   prompt out the modem. Very often this would abort the connection
  214. |   right there, since modems typically abort the connection process if
  215. |   one sends them data before a connection is established. But even if
  216. |   the modem did not abort, modems usually echo the data that you send
  217. |   them if the connection is not established yet. So the entire Username:
  218. |   banner text would be sent back to FifoBBS, which would interpret it
  219. |   as someone trying to log on, and this would clearly interfere
  220. |   massively with the real log-on process. So it is advisable to set
  221. |   the modem to not report the "RING" messages and to not echo data,
  222. |   on the system running FifoBBS. Most modems can be set to do this.
  223. | - A lot of people think that the review buffer's size is limited to
  224. |   8192 bytes. They come to this conclusion because they try to adjust
  225. |   the buffer size in the wrong place. The "Buffer Size" option under
  226. |   the "Comm" menu is not the correct place - this adjusts the buffer
  227. |   VLT uses for the serial device itself. The review window has menus
  228. |   of its own, and the "Buffer Size" option there is the one to use.
  229.  
  230.  
  231. VLT 5.517
  232. =========
  233.  
  234.     This is VLT version 5.517. Compared to version 5.045, the previous
  235. release, quite a few things changed. One of the major changes is that since
  236. version 5.100, VLT is compiled using the SAS C compiler. (All releases up to
  237. and including 5.045 used Manx C). Since this allowed linking with cres.o, VLT
  238. is now residentable. Also, it at first got quite a bit smaller. Unfortunately,
  239. a sufficient number of new features were added so that the actual size is
  240. somewhat larger than for the previous release.
  241.     The other changes mainly involve AmigaDOS 2.04. VLT now uses the ASL
  242. requesters when running under 2.04, has 2.04 public screens, and uses a new
  243. Palette requester written with GadTools. However, VLT still works great with
  244. AmigaDOS 1.3.
  245.     But there are quite a few new neato goodies as well. The ones that are
  246. of most interest to most people are probably: improved mouse support and
  247. programmability, and cut and paste directly from and to the main screen using
  248. the clipboard. There are also some nice ARexx programs included, the major one
  249. of which is a simple phone book.
  250.     So far the good news. The bad news is that not everything I wanted to
  251. go in went in. So it is entirely possible that just the thing you really
  252. wanted in there didn't make it. That doesn't mean I think it's a bad idea,
  253. just that I didn't have time, and I wanted to bring out a new version now
  254. rather than wait until I had more time to do the others.
  255.     If you want to see some of the new things quickly, then skip ahead
  256. to the sections where the NeatStuff script is mentioned.
  257.  
  258.     Okay, enough of the preliminaries, here are the details. Things that
  259. may affect *** COMPATIBILITY are marked with as such.
  260.  
  261.     Willy Langeveld, 24 March 1992.
  262.  
  263.  
  264.  
  265.  
  266. Changes to the Tektronix emulation
  267. ==================================
  268.  
  269.     Not too many changes here, but let's get them out of the way.
  270.  
  271. Additions and Changes
  272. ---------------------
  273.  
  274.     A new miscflag setting was added: miscflag 256 causes Tektronix alpha
  275. mode text to appear on the VT100 screen, rather than on the Graphics screen.
  276. Added by request.
  277.     Support was added for <esc> ID <esc> IE (disable and enable GIN mode).
  278. Some people with Tektronix 4107 graphics may now be able to get GIN cursors.
  279. This sequence allows setting up VLT for multiple cursor returns in a row. The
  280. cursor will remain displayed until the last cursor report is sent.
  281.     VLT will now also support <csi> n m sequences in Tektronix mode, if n
  282. is in the range 30 to 37. This feature can be turned off with the miscflags
  283. value 1024.
  284.     The sequences that cause the screen to flip from VT100 to graphics and
  285. v.v. are now seperately adjustable to not cause flipping of the screen, in a
  286. new (largish) submenu. *** COMPATABILITY: There used to be only one sequence
  287. that was adjustable this way. When you run the new VLT, the setting of that
  288. switch *may* have been lost.
  289.     The little text window which used to display the x/y position of the
  290. graphics cursor was taken away: it caused too many problems. Instead, the X/Y
  291. position is now displayed in the Tek window itself.
  292.     The enter GIN mode sequence ESC SUB is now also checked for in the
  293. VT100 part of VLT, to allow GIN cursors to come up on some systems.
  294.     "Use" and "Cancel" buttons were added to the Color Options
  295. requester.
  296.     Another command was added:
  297.  
  298.         tek menu <menunum> <itemnum> [<subnum>]
  299.  
  300. This command allows one to execute any Tektronix screen menu item just
  301. as if it was selected from the menu.
  302.     The size and position of the Tektronix window are now also saved to
  303. the Tektronix config file (which for this reason now has a slightly modified
  304. form).
  305.     The Tektronix window now also has a close gadget when it is on the
  306. Workbench.
  307.     All of VLT now uses the Commodore busy pointer.
  308. |
  309. |     A miscflags option was added to prevent panel outlines from being
  310. | drawn. The value is 8192.
  311. |    Whether or not X,Y coordinates are displayed numerically during
  312. | graphic cursor operations is now saved in the Tek configuration file.
  313. |
  314.  
  315. Bug fixes
  316. ---------
  317.  
  318.     Some bugs were found during the conversion to SAS C. Others were
  319. found independendly. All of the ones listed below are now fixed.
  320.  
  321. - In incremental mode, an ENQ sequence from the host would return an
  322.   undefined cursor position.
  323. - A change was made to TekProlog.ps to fix a bug with "marker mode":
  324.   when the marker is a simple dot, the PostScript file would have the
  325.   data, but the size of the "dots" it would print was zero so they
  326.   would not show up.
  327. - Opening a window on the Workbench could fail under certain conditions.
  328.   A last ditch effort is now made to open the window 640 x 200.
  329. - Some work went into trying to limit overwriting the window borders when
  330.   on the Workbench.
  331. - A few other bugs were found that are unlikely to have caused any
  332.   trouble.
  333. - The method by which the spacing of graph text was determined was
  334.   relaxed a little. It should now more often get the actually specified
  335.   spacing rather than its own idea of what a good spacing would be.
  336.  
  337.  
  338. VT100 Part
  339. ==========
  340.  
  341. VLT installation and "paths"
  342. ----------------------------
  343. |
  344. |    This section assumes that you have read the "Installation" file
  345. | carefully. If you haven't read it yet, do so now.
  346.     One of the more powerful, but unfortunately somewhat confusing new
  347. features of VLT is that it searches for all the various files it might need in
  348. various places. The previous version only checked in one place and that was
  349. it, and you basically had to install VLT by copying files all over the place.
  350. This is no longer the case, but there are a few gotcha's you may run into. So
  351. read this section carefully.
  352.     VLT now checks "paths" for all kinds of things. This allows you, for
  353. example, to install all of VLT's files in a directory called, for example
  354. work:VLT. The setup is, however, very flexible. For example, if you wanted the
  355. VLT fonts to go in fonts:, then just install them there. Or you could store
  356. them elsewhere, say in hd3:sundry_fonts. Just assign vlt_fonts: to this place,
  357. and VLT will find them. In fact you don't even have to call VLT's main
  358. directory "VLT". Under 2.04, VLT will automatically know where the program
  359. file lives. Under 1.3, the same is true, but you have to assign vlt: to the
  360. place VLT's executable lives, and VLT will check there. Note: due to a bug in
  361. AmigaDOS 2.04, VLT will not remember where it lives if it is made "resident".
  362. In that case, you will have to make an assignment just like in the 1.3 case.
  363.     Notice, that VLT will use the included VTPrefs.dat (and TekPrefs.dat)
  364. files if it can find them. If you'd prefer to use the ones you had already
  365. from previous VLT versions, rename the ones included with this version to
  366. something else, or copy your own over the ones supplied with this archive. See
  367. also the discussion about the script called "NeatStuff.scp", in the mouse
  368. programming section.
  369.     There are many instances where VLT does these checks along paths. The
  370. path is a little different depending on whether VLT is looking for a file or
  371. is putting up a file requester. When VLT is looking for a file, it will search
  372. a set of likely directories, in sequence, until the file is found. (In the
  373. tables below, "progdir:" stands for the place the VLT executable is located).
  374. You really don't have to worry about these. Just install VLT in a directory
  375. all its own, and everything should work fine. If you're upgrading from a
  376. previous version of VLT, you may choose to copy all the scripts in the rexx
  377. and scp directories of the archive, to where your scripts are now. In that
  378. case: do *not* create rexx and scp directories in the place where you store
  379. VLT's executable! Or else, VLT's requesters will come up pointing there rather
  380. than where your scripts are. Alternatively, you may want to copy your own
  381. scripts to the rexx or scp subdirectories of VLT's location. Take care not to
  382. overwrite the scripts that came with this archive!
  383.     If you want to customize things your own way, then check the lists
  384. below.
  385.  
  386. File(s):         | Path that is searched (if directories exist):
  387. -----------------+-----------------------------------------------------
  388. TekProlog.ps     | current-dir  vlt_s:  vlt:s  progdir:s  s:
  389. TekPrefs.dat     | current-dir  vlt_s:  vlt:s  progdir:s  s:
  390. VTPrefs.dat      | current-dir  vlt_s:  vlt:s  progdir:s  s:
  391. .scp scripts     | current-dir  vlt_scp:  vlt:scp   progdir:scp
  392.                  |   vlt_rexx:  vlt:rexx  progdir:rexx   rexx:vlt
  393.                  |   rexx:  s:
  394. ARexx macros     | current-dir  vlt_rexx:  vlt:rexx  progdir:rexx
  395.                  |   rexx:vlt  rexx:  s:
  396. fonts            | current-dir  vlt_fonts:  vlt:fonts progdir:fonts  fonts:
  397. libraries        | current-dir  vlt_xpr:  vlt_libs:  vlt:xpr  vlt:libs
  398.                  |   progdir:xpr  progdir:libs  libs:
  399. devices          | current-dir  vlt_devs:  vlt:devs  progdir:devs  devs:
  400. -----------------+-----------------------------------------------------
  401.  
  402.     When VLT puts up a requester and doesn't know where to look yet, it
  403. will bring up the requester pointing to the first directory it can find in the
  404. path. The following list shows which path it follows. Notice, that if your
  405. script files (for example) are all, say, in s:, but a rexx: directory exists,
  406. then VLT will show you the directory for rexx:, without your files, when it
  407. first comes up, because rexx: is higher on the priority list. VLT can't know
  408. ahead of time that your scripts aren't there. So store your scripts in the
  409. first place on the path that  exists. Note, that you can always fool VLT, by
  410. assigning vlt_rexx: to wherever you happen to have stored your VLT rexx
  411. scripts, no matter which other directories exist, because that's where VLT
  412. checks first. Similarly for the other paths.
  413.  
  414. Item             | Path that is searched:
  415. -----------------+-----------------------------------------------------
  416. devices          | vlt_devs:  vlt:devs  progdir:devs  devs: current-dir
  417. XPR libraries    | vlt_xpr:  vlt_libs:  vlt:xpr  vlt:libs
  418.                  |    progdir:xpr  progdir:libs  libs: current-dir
  419. VLT scripts      | vlt_scp:  vlt:scp  progdir:scp
  420.                  |    vlt_rexx:  vlt:rexx  progdir:rexx  rexx:vlt
  421.                  |    rexx:  s: current-dir
  422. ARexx macros     | vlt_rexx:     vlt:rexx  progdir:rexx  rexx:vlt
  423.                  |    rexx:  s: current-dir
  424. keymaps          | vlt_devs:keymaps  vlt:devs/keymaps
  425.                  |    progdir:devs/keymaps  devs:keymaps current-dir
  426. Tek "archive"    | vlt_archive:  vlt:archive  progdir:archive current-dir
  427. | VT100 prefs    | vlt_s:  vlt:s  progdir:s  s:
  428. | Tek   prefs    | vlt_s:  vlt:s  progdir:s  s:
  429. -----------------+-----------------------------------------------------
  430.  
  431.     Now, it is perfectly possible that you have previously saved certain
  432. things in your configuration files. For example, you might have saved:
  433. libs:xprzmodem.library as your default file transfer protocol. In that case,
  434. when you select a new protocol to use, VLT will show you a requester for XPR
  435. protocols for libs:, with xprzmodem.library in the file gadget. All you have
  436. to do now is to point VLT to where your xpr libraries really are, select the
  437. proper xpr, and save the configuration again.
  438.  
  439. Changes relating to AmigaDOS 2.04
  440. ---------------------------------
  441.  
  442.     VLT now uses 2.0 public screens under 2.04. Under 1.3 it still uses
  443. screenshare.library.
  444.     VLT now uses the ASL file requester under 2.04. Under 1.3 it still
  445. uses the ARP file requester. It also uses the ASL font requester under 2.04.
  446. Under 1.3 it uses a simple string requester for fonts. Note, that ASL
  447. requesters have a different color and some different properties depending on
  448. whether they are used as a "get" requester or "save" requester.
  449.     VLT acquired a new palette requester written using GadTools. VLT now
  450. uses the C= Busy pointer.
  451.     Requesters, review.library, menus and gadgets now use the System
  452. Default font, if it is an 8 by 8 monospaced font.
  453. NOTE: VLT still needs arp.library for various other functions!
  454.  
  455.  
  456. An ARexx Phonebook
  457. ------------------
  458.  
  459.     There's a phonebook included, written in ARexx. Run, from VLT, the
  460. script called VLTPhoneBook.vlt (you may want to assign it to a function key or
  461. menu later on). The phonebook pretty much installs itself. The first time you
  462. do anything, it will ask you whether you want to assign VLTPhoneBook: to
  463. somewhere. Say that you do, and assign it to the "phonebook" directory that
  464. came with this distribution. You can then create entries, modify them, delete
  465. them, and show them. You can use these options multiple times, so you could
  466. have a few "create"s and a few "show"s open at the same time. Once you have
  467. created some entries (there are a few samples in this distribution) you can
  468. select them for dialing using a multiple select file requester.
  469.     Once selected, you can click on "Start Dialing Sequence". The program
  470. that's then called is VLTPhoneDial.vlt. This program  then finds the
  471. "dial_file" and dials the first entry in it. Then it will try to establish a
  472. connection, and if it works, it will wait until the user clicks on "Resume
  473. Dialing Sequence". If there is no connection, it will continue on to the next
  474. entry on the list and try all entries until a connection is established. The
  475. looping will continue until all connections have been successfully connected
  476. to once, or until the "Abort Dialing Sequence" button is hit.
  477.     Note, that some portions involve multiple-select file requesters and
  478. these only work under 2.04. Presumably these could be written to be more
  479. useful under 1.3. Make sure that all the VLTPhone*.vlt and .rexx programs are
  480. copied to somewhere on VLT's search path. Also, for any of this to work, you
  481. must have rexxarplib version 3.0 (available in a separate archive on a BBS
  482. near you).
  483.  
  484.  
  485. The New Paste Facility
  486. ----------------------
  487.  
  488.     There is a new Paste facility which can send the contents of the
  489. clipboard or text files to the host with adjustable character and line delays.
  490. It is in a separate menu which has options for all the send modes, a cancel
  491. option, and several other options.
  492.     The Paste from ClipBoard option will start sending the current
  493. clipboard contents. The Edit/Paste ClipBoard option will give you the
  494. opportunity to edit each line before it gets sent. The Paste from File and
  495. Edit/Paste File options do the same for files, after bringing up a file
  496. requester. The Cancel Paste option aborts the current paste operation.
  497.     The options for Character and Line Delay allow you to set the delay
  498. after each character and line respectively.
  499.      The Line Prefix option will allow you program a string to be sent
  500. before each line sent.
  501.     Everything can also be programmed using script commands.
  502.  
  503.     The way the review buffer's Edit/Send works was changed. When you want
  504. to get something from the review buffer, you now should select it, copy it to
  505. the clipboard, and then use the "paste" facility to paste the clipboard
  506. contents into VLT. The menu subitem "View" was therefore moved to the VLT menu
  507. as a regular item, and the "Edit/Send" subitem was removed.
  508.     The entire paste facility really works using the script command
  509. "paste". See the scripting section for how this works.
  510.  
  511.  
  512. A note on the clipboard
  513. -----------------------
  514.  
  515.     Things that are cut or copied to the clipboard are always put there in
  516. a certain (IFF) form. In the case of VLT, the only IFF form we're interested
  517. in is the one concerning text, called FTXT. Part of the standard IFF form is
  518. that they must contain an even number of bytes. Of course, it could be that
  519. you copied an odd number of characters to the clipboard, but this is kept
  520. track of by putting the number of characters in as part of the IFF form. In
  521. that case, the IFF needs to be "padded" with another byte. Now there is a
  522. problem: some older applications don't accept clips that are padded. Sure,
  523. these applications are broken, but what if that's the only bug and otherwise
  524. it works fine, and worse, you happen to own it? VLT has, for this reason,
  525. always written clips to the clipboard without padding them. The rationale
  526. was: it keeps these broken applications working, and other applications that
  527. aren't broken, all turn out to not care one way or another.
  528.     However, with AmigaDOS 2.04 came a new library, called
  529. iffparse.library. More and more applications are starting to use this library
  530. to read clips from the clipboard, and guess what: iffparse.library *does* care
  531. whether the clips are padded or not.
  532.     What it all boils down to, is the following. If you notice that pieces
  533. of text you clip from VLT don't show up in your favorite editor, wordprocessor
  534. or shell, then you should set VLT to pad clips. This can be done using the
  535. miscflags command, see elsewhere in this file. There is a nice ARexx program
  536. called SetMiscFlags.vlt that allows you to set the various flags from a
  537. window with gadgets. Turn the very first one on, and save your configuration
  538. and you should be fixed.
  539.  
  540.  
  541. Mouse Programming and Secondary Cursor
  542. --------------------------------------
  543.  
  544. *** COMPATIBILITY: This part was modified in incompatible ways.
  545.     The mouse can now be programmed in sixteen different ways. Separate
  546. programs can be given for the mouse by itself and the mouse together with
  547. shift, ctrl, alt, shift-ctrl, shift-alt or shift-ctrl-alt keys. Not only that,
  548. but seperate programs can be given for when the the left mouse button is
  549. pressed or released.
  550.     A special program is "auto", in which case the mouse behaves just like
  551. it used to do when "Mouse Support" was selected from the menu, if you hadn't
  552. programmed it specifically to something else. This menu option was moved down
  553. in the Operation menu, and no longer has a checkmark - it is in principle
  554. always on, though the unqualified mouse button is likely not programmed to do
  555. anything. If you select this menu item now, a requester appears to let you
  556. edit all the different mouse programs. If you used to have "mouse support"
  557. turned on, you may find this item to be preprogrammed to "auto", if not, then
  558. it is most likely not set to anything. If you had programmed it to do
  559. something else entirely, most likely that program will show up.
  560.     In the program, you used to be limited to a sequence of %d's (and %x
  561. if you wanted). You can still use %d, (but not, say, %2d!) but %x now means
  562. something else! In fact, substitutions will no longer be made in a fixed order
  563. (unless you continue to use %d), but according to the following recipe:
  564.  
  565.     %X = current mouse X position
  566.     %Y = current mouse Y position
  567.     %x = current cursor X position
  568.     %y = current cursor Y position
  569.     %l = number of lines on currently on the screen
  570.     %c = number of columns currently on the screen
  571.     %q = the qualifiers the mouse was pressed down with
  572.  
  573. Note, that VLT guarantees that left-mousebutton release (up) events will be
  574. treated the same way as the preceding left-mousebutton down press. What this
  575. means is, that if you pressed the mouse button down while ctrl was also
  576. pressed, you can let go of the ctrl button *before* releasing the mouse
  577. button, and VLT will still execute the program that went along with the
  578. ctrl selectup program.
  579.     Together with the powerful new "movecursor" additions, you can now
  580. program the mouse to provide cut and paste facitlities! To get a feeling for
  581. how this works, run the script NeatStuff.scp in the scp directory. (If you are
  582. using the vtprefs.dat file that came with this version, then you don't have to
  583. run NeatStuff). This will have programmed the following things.
  584.  
  585. - If you click ust the left mouse button by itself:
  586.   Normally does nothing, but if there is a highlighted area, it gets rid
  587.   of it.
  588. - Shift left mouse button:
  589.   Sends enough mouse moves to the host to get the cursor to the place where
  590.   you clicked. This doesn't work with all hosts.
  591. - Ctrl left mouse button:
  592.   While holding down ctrl and the left mouse button you can drag out an area.
  593.   When you let go, it is put into the clipboard. The area stays highlighted.
  594.   If you want to get rid of it, just click the mouse without holding down
  595.   ctrl. If you want the select another area, just click and drag again, while
  596.   the ctrl key is down.
  597. - Alt left mouse button:
  598.   If you hold either Alt button down and click anywhere, and there is an
  599.   area already highlighted, then the highlighted text is pasted to the
  600.   serial port. The area now becomes unhighlighted.
  601. - Shift ctrl left mouse button:
  602.   Click on a "word" on the display and it will be put in the clipboard.
  603.   It will stay highlighted. If you want a different word, just click
  604.   again while shift and ctrl are still down.
  605. - Shift alt left mouse button:
  606.   Puts up a window with the column and row of where the mouse was clicked.
  607. - Ctrl alt left mouse button:
  608.   For you bixen: click on a conference/topic combination on BIX (like
  609.   "microsoft/other"), and it will resign the topic for you.
  610. - Shift, ctrl, alt left mouse button:
  611.   Combines well with shift ctrl left-mouse. Suppose you wanted to enter
  612.   a combination of words on the command line, without typing them in (they
  613.   are already in various places on the screen). Now usually you want these
  614.   words to be spaced apart with a number of spaces. What you do is this:
  615.   use Shift-ctrl left-mouse to highlight the first word. Now also press
  616.   the alt key and click the left mouse button on the command line where
  617.   you want the word to appear. Spaces will be sent until the cursor is
  618.   in the column where you clicked (minimum one space), and then the word
  619.   will be pasted in. Repeat for the other words.
  620.  
  621.     For this to work, a new thing was added, which I'll call a secondary
  622. cursor. It, too, is manipulated completely from script commands. Since you
  623. just ran NeatStuff.scp, you will also find that your ALT and SHIFT-ALT cursor
  624. keys and a few keypad keys have been changed.
  625.     Now, when you hold down ALT, and use the cursor keys, then a second
  626. cursor will appear. You can move it around using ALT cursor keys. When you
  627. also hold down shift, then you will increase the size of the cursor using the
  628. right arrow and down arrow buttons, and decrease the size using the left arrow
  629. and up arrow buttons.
  630.     When you hit the keypad 0 button with ALT, the area currently spanned
  631. by the cursor is clipped out and put into the clipboard.
  632.     The area will stay highlighted. Had you also held down the shift key
  633. while pressing the keypad 0, the cursor would have disappeared after clipping.
  634.     To get rid of the second cursor if it is currently up there, just hit
  635. alt or shift-alt with the dot on on the keypad. To paste the current clip to
  636. the screen, you can use either alt plus the Enter key on the keypad, or
  637. shift-alt with Enter, or the menu options in the Paste menu. Alt-Enter will
  638. allow you to edit the lines before they get sent.
  639.     Technical note:    Alt and shift-alt keypad keys used to only perform the
  640. preprogrammed functions if the keypad mode was "application" (i.e. not
  641. "numeric"). *** COMPATIBILITY: Now, alt and shift-alt keypad do nothing if
  642. they are not programmed (or redefined in the special keymap, see later), but
  643. if they are programmed, they will perform their preprogrammed function no
  644. matter if the keypad is in numeric or application mode.
  645.     To see how this magic is accomplished, just switch program mode on and
  646. do the same operations. Instead, the program mode requester will show up and
  647. show you what the programs are. You can also just look at the NeatStuff.scp
  648. program.
  649.     Incidentally, the NeatStuff.scp program will also have programmed
  650. some nice User Menu programs. Check them out, and change them to what you'd
  651. prefer. If you want to keep all these programs around, just save your
  652. configuration after running NeatStuff. You don't have to run NeatStuff ever
  653. again in that case!
  654.     For further explanations on how all this works, see the next section
  655. about the new script commands.
  656.  
  657.  
  658. Additions to the script language
  659. --------------------------------
  660.  
  661. The @ command
  662. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  663.  
  664.     The @ sign can now be used to execute .scp files as VLT native
  665. scripts, or to launch .vlt and .rexx scripts as ARexx programs. This makes it
  666. much easier to start scripts, which one used to have to do using "exit" (as in
  667. "exit myscript.scp") for native scripts, and using a construct like "rx (call
  668. myscript.vlt)" for ARexx scripts. Note that the '@' was already used in the
  669. programming of function keys and the like to indicate that a particular
  670. key should execute a script. Now the '@' is a full-fledged script command
  671. in its own right, with a few extra features.
  672.     You can also launch REXX programs from VLT that will execute under
  673. "AREXX" rather than "REXX". To do this, add an extra @ sign in front of the
  674. script name.
  675.     To summarize: the script command:
  676.  
  677.          @SomeScript.vlt
  678.  
  679. runs a macro under REXX, which means VLT needs to wait until the script exits
  680. before VLT can exit itself. If instead:
  681.  
  682.      @@AnotherScript.vlt
  683.  
  684. is used, the macro will run under AREXX, which means that it doesn't require
  685. VLT to hang around until it exits. The disadvantage is that the default host
  686. for the macro will now be REXX rather than VLT, with no way to find out
  687. VLT's port name!
  688.     But you can now pass arguments to programs launched in either of the
  689. above methods. So, you can get around this problem by launching program A
  690. using a single @ sign. It will know who the default host is. If program A does
  691. the following:
  692.  
  693.     /* A.vlt */
  694.     vltport = address()
  695.     "@@B.vlt "vltport
  696.     exit
  697.  
  698. then program B will be launched by VLT with the correct VLT port name as an
  699. argument. Program B can then still send messages to the correct VLT, and yet
  700. not need VLT to stay around. You might ask: why have VLT launch the program in
  701. the first place rather than just having ARexx do it? This is because VLT has a
  702. particular search order for .vlt scripts that regular ARexx does not have. The
  703. way program A works, B.vlt will be found if it is in VLT's search path for
  704. ARexx scripts.
  705. |
  706. | Due to a technical problem with the AREXX port, you cannot use the @@
  707. | combination if the name of your script file or the directory or device
  708. | in which it lives has one or more spaces.
  709. |
  710.  
  711.  
  712. | The BAUD command
  713. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  714. |
  715. |     In order to allow one to use "odd" serial speeds, the "midi"
  716. | setting has been made programmable. The default setting is 31250 bps.
  717. | To program the speed to a different value, issue the command:
  718. |
  719. |    baud midi <new-value>
  720. |
  721. | where <new-value> is the serial speed you would like. This can be used
  722. | to access speeds that are not "preset" values available from the menu,
  723. | such as 600 bps, as used by X10 controllers, or 115400 bps for those
  724. | that think that 57600 is not fast enough.
  725. |    Note that the new value is *not* saved in the configuration
  726. | file, and the value is not extractable using EXTRACT. Strictly provided
  727. | for "quick hacks" and "odd situations".
  728.  
  729.  
  730. The CANCEL command
  731. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  732.  
  733. *** COMPATIBILITY
  734.     The cancel command can no longer cancel the script it executed from
  735. (this was never the intended behavior). Use "exit" instead.
  736.     There is a new argument allowed for the script "cancel" command, and
  737. this is used in the phonebook code. Basically, the cancel command now allows
  738. commands of the form:
  739.  
  740.     cancel <scriptname> <cancelflag>
  741.  
  742. What happens is that the script <scriptname> is cancelled, and if that script
  743. was run from an ARexx context, the ARexx context will now have a value
  744. assigned to VLT.CANCELFLAG equal to <cancelflag>. This allows you to use
  745. scripts that sit around indefinitely, and that can be cancelled by various
  746. other scripts. By using the cancelflag, you can then tell what caused the
  747. script to be cancelled.
  748.  
  749.  
  750. The COLOR command
  751. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  752.  
  753.     Not sure if this was mentioned in the manual before, but the color
  754. command has an option "REQuest", which brings up VLT's color requester.
  755.  
  756.  
  757. The CONFiguration command
  758. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  759.  
  760.     This command has the syntax:
  761.  
  762.     CONFiguration SAVE [<filename>]
  763.  
  764. It allows you to save VLT's configuration, as if the command were issued from
  765. the menu. The configuration file will be saved according to the "path" search
  766. mentioned earlier. If the <filename> argument is specified, it will be saved
  767. with that name. If no directory is specified, the path wll be searched for the
  768. file. If the file is not found, it will be created in the current directory.
  769. If the <filename> argument is not specified, the file will be saved over the
  770. last read preferences file.
  771.  
  772.  
  773. The CONSole command
  774. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  775.  
  776.     The console command was added and it has several options.
  777.  
  778. CONSole Open                           : opens the console window.
  779. CONSole Close                          : closes the console window.
  780. CONSole Specification <console string> : specify console string.
  781. CONSole Height <height>                : specify amount of space to
  782.                                          leave at the bottom.
  783.  
  784. *** COMPATIBILITY: The "consolewindowadjust" command was deleted. If you don't
  785. want VLT to change the text display just because there is a console, then
  786. specify a console height of 0. The console height that you set with this
  787. command does not actually affect the size of the console window that you
  788. may want to open - it only specifies how much room to leave at the bottom
  789. for a console (or whatever else). The default is 55 pixels.
  790.  
  791.  
  792. | The CONTinue command
  793. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  794. |
  795. |    The Continue command can now be used with the name of another
  796. | schedule as an argument. This allows one schedule to continue another.
  797. | This can be used to synchronize schedules. For example, consider:
  798. |
  799. |    # ScheduleA.scp:
  800. |    #
  801. |       A:
  802. |       @ScheduleB.scp
  803. |    pause
  804. |    ...    # other stuff.
  805. |
  806. | and:
  807. |
  808. |    # ScheduleB.scp:
  809. |    #
  810. |    ...    # stuff that needs to happen first.
  811. |    continue A
  812. |    exit quiet
  813. |
  814. | What happens is that Schedule A executes Schedule B. Normally, Schedule
  815. | A would merrily go on. Now however, it encounters the pause command and
  816. | waits. Meanwhile, Schedule B executes what it needs to execute. It then
  817. | uses the "continue A" command, which causes Schedule A to break the
  818. | "pause" condition, and Schedule A then executes the rest of its comamnds,
  819. | while Schedule B exits.
  820.  
  821.  
  822. The DISPLAYCrascrlf command
  823. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  824.  
  825.     This command turns on or off whether incoming carriage returns are
  826. displayed as if they were CR's followed by LF's.
  827.  
  828.  
  829. The EXTRact command
  830. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  831.  
  832.     This command was updated to have many more extractable items. See the
  833. updated "extracttest.rexx" in the rexx directory. One notable item that can be
  834. extracted is VLT's current internal "clip" buffer. Using the "paste clip"
  835. command this feature can be "abused" to find out what is currently in the
  836. Amiga clipboard.
  837.  
  838.  
  839. The FAULT command
  840. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  841.  
  842.     This command now can return some more error messages.
  843.  
  844.  
  845. The FONT command
  846. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  847.  
  848.     With the font command, you can change VLT's font. The font will still
  849. have to pass VLT's notorious test of existing in both an 8 point and an 11
  850. point tall size. The width must be 8 points, and the font must be monospaced.
  851.  
  852.  
  853. The Function command
  854. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  855.  
  856.     This command hasn't changed, but the four sequences that used to be
  857. listed as "reserved", are now applicable to ALT and SHIFT-ALT Delete and Help,
  858. respectively.
  859.  
  860.  
  861. The HANDshake command
  862. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  863.  
  864.     The keyword "cts/rts" is now allowed for the handshake command
  865. as a substitute for the "7-wire" option.
  866.  
  867.  
  868. The IF command
  869. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  870.  
  871.     This command was changed quite a bit. It now allows an "else" clause
  872. as well as a "not" qualifier. Typical usage would be:
  873.  
  874.     if tek (do a tek command; another one) else (do some VT100 stuff)
  875.  
  876. It also has a "not" option: you can use:
  877.  
  878.     if not echo (do stuff)
  879.  
  880. The number of things one can check for has been greatly expanded beyond the
  881. "tek" and "vt100" which used to be the only options. The full list follows:
  882.  
  883. TEKtronix            If we're in Tektronix mode, this is true.
  884. VT100                We're in VT100 mode.
  885. ECho                 Local Echo is currently turned on.
  886. NUMerickeypad        The keypad is currently in numeric mode.
  887. APPlicationcursor    The cursor keys are currently in application mode.
  888. SWApbackspacedelete  The backspace and delete keys are swapped.
  889. HELpkeylf            The Help key is set to send a linefeed.
  890. SHIfttabesc          Shift-Tab sends <tab> <esc>.
  891. LOCal                VLT is in "local" mode, i.e. keystrokes are not sent
  892. ECHOLinefeeds        The return key, when pressed, echos a cr + lf.
  893. SENDLinefeeds        The return key, when pressed, sends a cr + lf.
  894. CLIP                 VLT currently has something in its "clip" buffer.
  895. SECONDcursor         The secondary cursor is currently displayed.
  896. SELECTdown           The left mouse button is currently down.
  897.  
  898.     The commands execute on the same schedule that the "if" command was
  899. called from, so you can include goto's that refer to labels outside the set of
  900. commands inside the "if", and also exit commands, and they will all work the
  901. | right way. ***COMPATIBILITY: In contrast to earlier versions of VLT, the
  902. | commands execute *synchronously*. For example:
  903. |
  904. |    if vt100 (emit "foo"; delay 1; emit "bar"); emit "done"
  905. |
  906. | If "vt100" mode is currently active (as opposed to graphics mode), then
  907. | first "foo" will appear, a delay of one second will follow, then "bar"
  908. | appears immediately followed by "done". In previous versions, one would
  909. | have the rather counter-intuitive situation where first "foo" would appear
  910. | and "done" immediately afterwards. Then, after a delay of one second, "bar"
  911. | would appear.
  912.  
  913.  
  914. The KERmit command
  915. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  916.  
  917.     The kermit command supports, in addition to BYE and the other options,
  918. also a FINish option.
  919.  
  920.  
  921. The KEYMap command
  922. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  923.  
  924.     The KEYMap command can now be used to set a different special keymap.
  925. Syntax:
  926.  
  927.     keymap <keymap name>
  928.  
  929. | Note, this command should not be used to set the VLT keymap to that of
  930. | your country: VLT already uses most of the system default keymap. Use
  931. | only for keymaps that change those keys you really want to change.
  932.  
  933.  
  934. The LOCAL command
  935. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  936.  
  937.     VLT can now be set to "local" mode using the "LOCAL" command ("local
  938. yes/no" or "local on/off"). In this mode, any keypresses will not be sent to
  939. the host.
  940.  
  941.  
  942. The MENU command
  943. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  944.  
  945.     A new command was added to the scripting facility:
  946.  
  947.     menu <menunum> <itemnum> [<subnum>]
  948.  
  949. It executes that particular menu item, as if it were selected using the
  950. main window's menus. Note that when counting items, "bars" are also
  951. considered to be items.
  952.  
  953.  
  954. The MIScflags command
  955. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  956.  
  957.     A few more flags were added to miscflags. The 256 and 1024 flags were
  958. explained in the Tektronix section. The 512 flag turns off OwnDevUnit
  959. checking. The 2048 flag turns off the activation of message windows. The 4096
  960. flag causes the VLT screen to pop back to the front after an upload or
  961. download is finished.
  962.     Since there are so many miscflags options now, the interface for
  963. setting them has been improved. Here's how the "miscflags" comamnd syntax is
  964. now:
  965.  
  966.     miscflags <number>
  967.  
  968. or
  969.  
  970.     miscflags {add | remove} <option> [[{add | remove}] <option> [...]]
  971.  
  972. where <option> is one of the following:
  973.  
  974.          Name                   old flag bit
  975.          -----------------------------------
  976.          PADdedclips                       1
  977.          DISplayoff                        2
  978.          NOMessages                        4
  979.          SERialshared                      8
  980.          TEKNOPointer                     16
  981.          UNBufferedcapture                32
  982.          NOLocalprint                     64
  983.          - not used -                    128
  984.          ALPhaonmainscreen               256
  985.          NOOwndevunit                    512
  986.          TEKNOAnsicolors                1024
  987.          INActivemessages               2048
  988.          AUToactivate                   4096
  989. |        TEKNOBoundary                  8192
  990. |        VT100toprow                   16384
  991. |        NOEscapescripts               32768
  992.  
  993. You should not use the number when using the "add" or "remove" form, but the
  994. name instead. Note that there is an  ARexx program, "SetMiscFlags.vlt", that
  995. has a nice user interface for these flags.
  996.  
  997.  
  998. The MOUsesupport command
  999. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1000.  
  1001.     The mousesupport command used to be available to turn mousesupport on
  1002. or off, and to optionally set a new program string for mousesupport. The
  1003. on/off (or yes/no) options now are used to program the mouse without
  1004. shift/alt/ctrl keys to the string "auto" for both select up and select down,
  1005. for some amount of *** COMPATIBILITY, but not a lot.
  1006.     The new syntax of the command is:
  1007.  
  1008.     MOUsesupport [shift [ctrl [alt [selectup [selectdown]]]]]
  1009.               <program-string>
  1010.  
  1011. By default, no qualifiers are specified, and selectdown is implied. Just as in
  1012. other things of this kind, <the program-string> has to start with a ~ to be
  1013. interpreted as a script command. There is one exception: the keyword "auto"
  1014. is reserved to mean automatic generation of cursor key sequences, as it
  1015. used to be when "mouse support" was on but no special program was present.
  1016.  
  1017.  
  1018. The MOVecursor command
  1019. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1020.  
  1021.     One of the major changes is in the command MOVecursor. It used to be
  1022. only for moving the text cursor. If only two coordinates are specified, the
  1023. command still applies to the text cursor. When, however, three or more
  1024. coordinates are specified, the command applies to the secondary cursor. The
  1025. syntax then becomes:
  1026.  
  1027.     MOVecursor <x1> <x2> <y1> [<y2>]
  1028.  
  1029. where <x1> ... <y2> can be specified as
  1030.  
  1031.     <x/yn> = [RELative | ABSolute] <number>
  1032.  
  1033. where the number is a row or column specification, either in absolute screen
  1034. coordinates, or relative to the text cursor. Alternatively, the coordinates
  1035. can be specified as:
  1036.  
  1037.     <x/yn> = MOUSE
  1038.  
  1039. In this case, that coordinate is set to the current X or Y position of the
  1040. mouse, depending on the position. For example, the command
  1041.  
  1042.     move rel 0 mouse 12 mouse
  1043.  
  1044. would display the secondary cursor with the top/left corner positioned at the
  1045. column of the current text cursor (rel 0) and at line 12. The bottom/right
  1046. edge would be at the current mouse position. Note that the coordinates are
  1047. sorted appropriately to disallow negative-sized cursors. To see this command
  1048. in action, check the scripts in "NeatStuff.scp"
  1049.  
  1050.  
  1051. The PASte command
  1052. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1053.  
  1054.     The PASte command is another major new command. The menu options
  1055. internally use this command to perform the paste operations. It arguably works
  1056. in somewhat of a funny way, since it requires a loop to actually paste
  1057. something. A paste operation is accomplished in a couple of steps. First of
  1058. all, the contents of the clipboard or a file, or a string, must be loaded into
  1059. VLT's internal paste buffer. This is accomplished using the CLIP, FILE, or
  1060. STRing options. For example, the command:
  1061.  
  1062.     paste clip
  1063.  
  1064. retrieves the Amiga clipboard contents and stuffs it into VLT's internal
  1065. buffer. Similarly, the commands
  1066.  
  1067.     paste file work:foo/bar.txt
  1068.  
  1069. and
  1070.  
  1071.     paste string "This is a test"
  1072.  
  1073. stuff the file work:foo/bar.txt or "This is a test" into the internal buffer.
  1074. Only one paste operation can be active at a time. A paste operation can be
  1075. aborted using:
  1076.  
  1077.     paste CANcel
  1078.  
  1079. This causes the current internal buffer to be emptied and deallocated and,
  1080. indirectly, any paste operation currently in progress would abort.
  1081.     So, now that we have something in the internal buffer, we need to
  1082. paste it into VLT's input stream. Since paste uses character and line delays,
  1083. this operation can actually go one character at a time. In that case, each
  1084. "paste" command by itself will only send a single character. If the character
  1085. delay is zero, each "paste" command will cause a full line to be sent. So we
  1086. need to loop until there is no longer anything left in the internal buffer.
  1087. This can be done automatically by using the command:
  1088.  
  1089.     paste AUTO
  1090.  
  1091. What this does, internally, is loop until everything is pasted. The following
  1092. loop accomplishes in principle the same thing:
  1093.  
  1094.     $1: paste; goto $1
  1095.  
  1096. but it has the side effect of causing a script error when a paste is attempted
  1097. when the internal buffer is finally empty. A better way (and this way is used
  1098. in "paste auto") is to use the new option to the "if" command:
  1099.  
  1100.     $clipprog:
  1101.            paste clip;
  1102.            $1:
  1103.               paste
  1104.               if clip else exit
  1105.            goto $1
  1106.  
  1107. Now, when the internal buffer is empty, the "clipprog" exits before it does
  1108. another paste.
  1109.     In this context, you can also use the "edit" option. "paste edit" does
  1110. the same as "paste", except it brings up a string requester before it actually
  1111. pastes the text into VLT's input stream, and allows you to edit the lines.
  1112. Similarly, you can use "paste edit auto".
  1113.     The paste command has two more subcommands. They are:
  1114.  
  1115.     paste PREfix <paste line-prefix>
  1116.     paste DELays <line delay> [<character delay>]
  1117.  
  1118. to program the prefix to be used before each line that is pasted, and the line
  1119. and character delays.
  1120.  
  1121.  
  1122. The REView command
  1123. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1124.  
  1125.     There are two added options to the review script command: N and V. V
  1126. is for "Append" and N is for "Append To" and requires another argument, the
  1127. file name. See the changes in the review buffer below.
  1128.  
  1129.  
  1130. The SCHedule command
  1131. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1132.  
  1133.     The schedule command can now be used to execute the contents of a
  1134. function key. The syntax is
  1135.  
  1136.     SCHedule Function <key number>
  1137.  
  1138.  
  1139. The TEKtronix command
  1140. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1141.  
  1142.     A subcommand was added:
  1143.  
  1144.     tek menu <menunum> <itemnum> [<subnum>]
  1145.  
  1146. It executes that particular menu item, as if it were selected using the
  1147. Tektronix window's menus. Note that when counting items, "bars" are also
  1148. considered to be items.
  1149.  
  1150.  
  1151. The TITlebar command
  1152. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1153.  
  1154.     This command takes arguments on/off or yes/no or toggle. If "titlebar
  1155. on" is used, VLT's custom screen will have a displayed titlebar both on the
  1156. main screen and on the Tektronix screen. VLT will correctly take the title bar
  1157. height into account when calculating where to display text.
  1158.  
  1159.  
  1160. | The WINDOW command
  1161. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1162. |     Two subcommands were added to the "window" command: open and close.
  1163. | "Window close" does the same as "clear close", except that it does
  1164. | not clear the window. When the window is reopened, text that used to
  1165. | be there will still be there. "Window open" does the same as "activate
  1166. | vt100", but has no effect if the VT100 window is already open.
  1167.  
  1168.  
  1169. The XPR command
  1170. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1171.  
  1172.     The XPR INIT command used to only accept an INIT string if the
  1173. protocol was set to external, using "transfer protocol external". Otherwise it
  1174. would report an error. Since all protocols are really external these days, the
  1175. requirement was relaxed. XPR INIT now will always allow you to send an init
  1176. string. However, it is up to the user to determine that the correct protocol
  1177. is currently loaded.
  1178.  
  1179.  
  1180.  
  1181. Other major changes
  1182. --------------------
  1183.  
  1184. - Some changes were made to the review buffer. The review window
  1185.   acquired two more menu items: "Append" and "Append To..." allowing
  1186.   direct append to files, avoiding the little requester warning you the
  1187.   file already exists. When trying to "Save" to a file that already
  1188.   exists, the requester will still come up. There are two added options
  1189.   to the review script command: N and V. V is for "Append" and N is for
  1190.   Append To and requires another argument, the file name.
  1191.   The review.library was also modified to report to VLT that a key was hit
  1192.   other than the arrow keys or shift or control. VLT now deactivates
  1193.   the review window if it is displayed and treats the key as if it
  1194.   was hit in the main VLT window. This greatly reduces the number of
  1195.   times you have to go to the mouse to click in the main VLT window.
  1196.  
  1197. - Message window now come up active, which is esthetically much more
  1198.   pleasing. However, they do notice when activity is going on so they
  1199.   still go away automatically when you continue typing or click a mouse
  1200.   button. Also, they do not activate if the main VLT window is not
  1201.   active. Moreover, this feature can be turned off using a miscflags
  1202.   option (see the script section).
  1203.  
  1204. - VLT can now be started with an ARexx startup script. VLT will
  1205.   automatically look for a script called VLT_Startup.vlt. If a file is
  1206.   specified using the +i command line option/Tool Type, then that file is
  1207.   checked automatically to see if it is ARexx or VLT native script
  1208.   language.
  1209.  
  1210. - One can now specify the "VTPrefs" and "TekPrefs" files by name on the
  1211.   command line (or in the icon). The options are +p <VTPrefs-filename>
  1212.   and +t <TekPrefs-filename> respectively. One can now also tell VLT not
  1213.   to use any VTPrefs or TekPrefs file by specifying -p and/or -t
  1214.   respectively.
  1215.  
  1216. - There is a new command line option, "-n", which starts each invocation
  1217.   of VLT with a new name (up to a limit of some 25 invocations). The
  1218.   names are of the form VLT.n with n between 1 and 25. If VLT comes up
  1219.   on the Workbench, then each invocation has its titlebar lowered by
  1220.   10 pixels.
  1221.  
  1222. - Menu options have been added to save configuration files "as..." some
  1223.   other file name. Together with the previous item, this allows for much
  1224.   more flexible setups.
  1225.  
  1226. - You can now program all of the main VLT screen's right-Amiga
  1227.   abbreviations to your favorite ones. See the Program Mode submenu.
  1228.  
  1229. - When VLT's screen would be closed, it would no longer interpret
  1230.   incoming data. Now it does, the review buffer is properly updated, and
  1231.   escape sequences from the host, including those containing Amiga commands
  1232.   will now work even if the screen is closed. This also means that if you
  1233.   reopen the screen some time later, you will see the most recent data.
  1234.  
  1235. - A special keymap can now be selected. This keymap should consist
  1236.   mainly of NULL entries. Where the entry is not NULL, VLT will
  1237.   use that entry instead of the one in the default (country specific)
  1238.   keymap. These entries can be of the "string" kind, and when they
  1239.   start with a ~ or ~@, they will be treated as if they were function
  1240.   keys, i.e. they can execute commands or scripts. This allows people
  1241.   to customize their keyboard setups for VLT completely. You do have to
  1242. |   use a Keymap Editor to do this. Note: do not just set this keymap
  1243. |   to be that of your country. You'll be very unhappy. See also the
  1244. |   new KEYMAP script command.
  1245.  
  1246. - The window size and position are now saved in the config file, by popular
  1247.   request. (This is only of importance to using VLT on the Workbench).
  1248.  
  1249. | - The way the console string is handled was subtly changed. The console
  1250. |   used to only work if you had ConMan, because only ConMan was able to
  1251. |   open up on VLT's screen. Under AmigaDOS 1.3, this is still true, and
  1252. |   you have to continue to use ConMan (or WShell 2.0 if you have that).
  1253. |   Under 2.04 you may want to continue to use ConMan, but by default
  1254. |   VLT will now use the 2.04 console handler. This means that the default
  1255. |   is that the console string no longer starts with con:s*/ (or cnc:s*/
  1256. |   if you mounted ConMan's cnc: instead of running ConMan). Instead,
  1257. |   VLT will appends:   /screen VLT    to the string before using it to
  1258. |   open the console. Of course, if you want to use ConMan, this doesn't
  1259. |   work. You will have to add the s*/ part back in. If you do have
  1260. |   WShell 2.0, then the new way will work, since WShell 2.0 is compatible
  1261. |   with 2.0. If you do put in the s*/, then VLT will not add the   /screen
  1262. |   VLT  part, if course. (In addition, VLT only does that when it is on a
  1263. |   custom screen, and of course, rather than VLT, it will use the actual
  1264. |   name of the screen. You will not see this part when you try to program
  1265. |   it, and you should not include the /screen part in your console string,
  1266. |    or else it will fail if you run VLT with another name).
  1267. |   *** COMPATIBILITY: To sumarize, the default for the console string now
  1268. |   uses the AmigaDOS 2.04 form, without the "s*", under AmigaDOS 2.04.
  1269.  
  1270. - When the console is open, VLT no longer polls it using WaitForChar,
  1271.   but actually sends it packets. VLT now also knows about the Console's
  1272.   window pointer and activates the console when needed. Also, the console
  1273.   window size and position are now saved to the configuration file, so if
  1274.   you use the %d form of the console string, it will use the last saved
  1275.   values.
  1276.  
  1277. - A console menu file is now included for those that have WShell 2.0. All
  1278.   menus of VLT's main window are duplicated in the console window, if this
  1279.   file is used. Note, that WShell doesn't support checkmarks.
  1280. |   This only works under AmigaDOS 2.04.
  1281.  
  1282. - ARexx error messages now are much more descriptive. Ironically, VLT has to
  1283.   run an ARexx macro in order to get the actual error text.
  1284.  
  1285. - If VLT is started with too little stack (<10240) VLT now allocates
  1286.   its own stack.
  1287.  
  1288. - On-line help. When you run the ARexx macro MenuHelp.vlt from VLT's
  1289.   ARexx Macro... menu item, you will see a little help window to
  1290.   get (brief) help for all VLT's menus. Just follow the instructions.
  1291.  
  1292.  
  1293. Some minor changes
  1294. ------------------
  1295.  
  1296. - You can now execute a script command to set VLT up with a screen
  1297.   titlebar. See the "titlebar" script command.
  1298.  
  1299. - Menu options for the more well-known XPR's were added.
  1300.  
  1301. - The Unit requester in the Comm menu no longer has an Okay gadget. This
  1302.   means you can hit return in the string gadget to accept the default.
  1303.  
  1304. - All VLT's windows and requesters now have front/back gadgets.
  1305.  
  1306. - The Version menu item is now called "About" and lists more
  1307.   legalese. 8^(
  1308.  
  1309. - Automatic printing can now be redirected from prt: by assigning the
  1310.   logical name vlt_prt: to a directory.
  1311.  
  1312. - A few new error messages were added and can be expected when using
  1313.   ARexx.
  1314.  
  1315. - VLT now supports Chris Wichura's OwnDevUnit standard for arbitrating
  1316.   access to serial devices. This can be turned off using a miscflags
  1317.   option.
  1318.  
  1319. - An option was added to display cr's as cr/lf pairs.
  1320.  
  1321. - A Kermit Finish option was added in the menu and as a script command.
  1322.  
  1323. - When both the VLT screen and the Tektronix screen are behind other
  1324.   screens, then the Tek screen will no longer jump to the front where it
  1325.   otherwise would.
  1326.  
  1327. - The amount of space left at the bottom of the screen for the console
  1328.   window is now programmable through the script command "console"
  1329.  
  1330. - The specified detail/block pen now also affect VLT's screen title bar.
  1331.   On the other hand, menus always use detailpen 0 and blockpen 1.
  1332.  
  1333. - Another check was added to the code that sends messages to REXX. Also,
  1334.   if REXX is not currently running, you get a message to that effect when
  1335.   you try to run a REXX macro.
  1336.  
  1337. - When you send stuff using the console window, message windows that may
  1338.   have popped up will now be removed when you hit return.
  1339.  
  1340. - The "marks" that appear in trace mode used to leave ghosts all over the
  1341.   display when in "Quick Render" mode. This was fixed by effectively turning
  1342.   Quick Render off when trace is on.
  1343.  
  1344. - The program "Ping" was renamed to "PingServer" to avoid clashes with
  1345.   a networking program of the same name.
  1346.  
  1347.  
  1348. Bug fixes
  1349. ---------
  1350.  
  1351.     The number of bugs that was found and fixed is not that large.
  1352. Here are the ones known to have been fixed (though others may have been
  1353. fixed as part of rewrites - of course, new ones may have been
  1354. introduced 8^). In random order:
  1355.  
  1356. - A number of problems were fixed when running VLT from the Workbench.
  1357.   When using the icons that were included in some early versions of VLT,
  1358.   VLT would lose memory. It was also possible for the VLT executable to
  1359.   become locked. The reason for this isn't quite clear, but it has
  1360.   something to do with the icon file itself. Please use the icons that
  1361.   are included with this version of VLT. Or, select the information item
  1362.   in the Workbench menu for the icon. When the information window comes up,
  1363.   resave the icon. Note that this problem may also account for a reported
  1364.   problem that starting VLT from the Workbench could cause a Read/Write
  1365.   Error requester to appear, even though there never really was any such
  1366.   problem. Also, the way VLT starts from icons is much different now.
  1367.   *** COMPATIBILITY As a side effect of this change, VLT no longer
  1368.   changes to the directory of the icon as it executes each of the
  1369.   scripts associated with the icons.
  1370.  
  1371. - A long standing bug with handling cursor movement escape sequences was
  1372.   hopefully fixed. The bug only occurred when a scrolling region was
  1373.   also in effect.
  1374.  
  1375. - The "close clear" menu option didn't check if the screen was locked
  1376.   and could cause trouble. A few other commands that would close the
  1377.   screen without checking were also fixed.
  1378.  
  1379. - Review buffer script commands were a little picky. Some had to be
  1380.   put in in upper case, and some needed weird quoting in order to
  1381.   be accepted. Some erroneous commands (missing command or args) could
  1382.   lead to trouble.
  1383.  
  1384. - A parsing error when xpr libraries were not in libs: was fixed.
  1385.  
  1386. - After selecting a new serial device, the unit requester would
  1387.   come up. Clicking on the close gadget did not abort the selection of
  1388.   a new device.
  1389.  
  1390. - Specifying prt: in the review buffer "save as" requester didn't work.
  1391.  
  1392. - VLT now checks for serial port errors on QUERY, SETPARAMS and DoIO's.
  1393.   Errors are now reported right away, not at the next write as it used
  1394.   to be. VLT now uses the io_Actual as returned by DoIO, rather than
  1395.   trusting the io_Actual handed back during the previous QUERY.
  1396.  
  1397. - A security gap was fixed in FifoBBS.rexx.
  1398.  
  1399. - When capturing, the handling of cr/lf and lf/cr pairs was made a lot
  1400.   smarter.
  1401.  
  1402. - A timing problem was fixed in XPR serial port handling. This was only a
  1403.   problem under AmigaDOS 1.3. The timer device didn't zero the "tv_secs"
  1404.   field.
  1405.  
  1406. - The serial device code was again changed in places.
  1407.  
  1408. - Some work went into not overwriting window borders when on the Workbench.
  1409.  
  1410. - Cancelling scripts with multiple ON's could crash VLT.
  1411.  
  1412. - When the Tek screen was open, the "But I'm already here" message would
  1413.   appear on the Tektronix screen and would therefore usually not be seen.
  1414.  
  1415. - The script command "file receive" would cause enforcer hits when using
  1416.   xprxmodem (xprxmodem expects a non-null filename).
  1417.  
  1418. - On automatically started ZMODEM downloads, VLT would fail to ring the
  1419.   bell when the transfer completes.
  1420.  
  1421. - Alt and shift-alt keypad used to only use the preprogrammed
  1422.   functions if the keypad mode was "application" (i.e. not "numeric").
  1423.   *** COMPATIBILITY: Now, alt and shift-alt keypad do nothing if they
  1424.   are not programmed (or redefined in the special keymap).
  1425.  
  1426. - Some VT100 compatibility problems were fixed. A reported problem
  1427.   with either setting scrolling regions or insert/delete line or
  1428.   characters was fixed by bullet proofing the code some more.
  1429.  
  1430. - Under 5.045, scripts could cancel themselves by referring specifically
  1431.   to their own name. Since this is the same function as "exit", it was
  1432.   never the intended behavior. Scripts can no longer "cancel" themselves.
  1433.  
  1434. - An old bug was perhaps fixed: the transfer status window often didn't
  1435.   display the right protocol name.
  1436.  
  1437. - The "extract rendermode" command sometimes extracted the kermit mode
  1438.   instead, depending on which rendermode was set.
  1439.  
  1440. - There was a problem with clearing the screen and restoring of text. This
  1441.   was seen most easily by setting VLT to use the Workbench, making the
  1442.   window really small, clearing the screen, and making the window large
  1443.   again.
  1444.  
  1445. - A long-standing bug with reading script files was fixed: if the last
  1446.   line of the script had no trailing line-feed, the last character was
  1447.   ignored.
  1448.  
  1449. - The VLT xpr_finfo call-back function would return garbage data when
  1450.   asked about info types it didn't know about.
  1451.  
  1452. - The VLT xpr_options requester sometimes used to return more than one
  1453.   bit if string gadgets were changed, if the last gadget clicked was
  1454.   a "COMMAND" or "COMMPAR" type.
  1455.  
  1456. - The programmode command didn't adjust the menu check marks.
  1457.  
  1458.     That's about it! Have fun... 8^)
  1459.  
  1460.     Willy.
  1461.